import { ColDef, ICellRendererParams } from '@ag-grid-community/core'

/** columnDefs 配置项 */
export type TCol<T extends keyof INotice = keyof INotice> = ColDef<INotice, INotice[T]> & {
  field: T
}

/** cellRendererParams */
export type TCellParams<T extends keyof INotice = keyof INotice> = ICellRendererParams<INotice, INotice[T]>

/** 通知列表请求入参 */
export interface INoticeListReq {
  /** 运单号 */
  waybillNo: string
  /** 通知状态 0.待发送 1.已发送 2.不发送 */
  noticeStatus: number | undefined
}

/** 通知 */
export interface INotice {
  /** 客户通知ID */
  noticeId: number
  /** 路由模板ID */
  routeId: number

  /** 物流状态 0.待发货 1.报关中 2.运输中 3.清关中 4.中转中 5.派送中 6.已签收 */
  logisticsStatus: number | null
  /** 路由节点 0.国内仓 1.起运港拖车 2.起运港 3.干线运输 4.目的港 5.目的港拖车 6.海外仓 7.尾程派送 8.目的地 */
  routeNode: number | null
  /** 路由 */
  routeTitle: string | null
  /** 发生时间 */
  occurDate: string | null
  /** 通知状态 0.待发送 1.已发送 2.已取消 */
  noticeStatus: number | null
  /** 通知时间 */
  noticeDate: string | null
}
